package org.jeecg.modules.ParameterModule.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.jeecg.modules.ParameterModule.entity.*;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface CategoryInfoMapper extends BaseMapper<MlccCategoryInfo> {
    //分页查询品类列表
    IPage<MlccCategoryInfo> query_CategoryPageList(@Param("page")Page<MlccCategoryInfo> page, @Param("queryName")String queryName, @Param("queryCode")String queryCode);
    //分页查询品类列表
    IPage<MlccCategoryTestInfo> query_testCategoryPageList(@Param("page")Page<MlccCategoryTestInfo> page, @Param("queryName")String queryName, @Param("queryCode")String queryCode);
    /**添加pine类列表*/
    int add_category_pinglei(MlccCategoryTestInfo testInfo);
    /**编辑pine类名称*/
    int update_category_pingleiName(MlccCategoryTestInfo testInfo);
    /**根据id查询品类详情*/
    MlccCategoryTestInfo select_testcategoryDetail(@Param("category_id")String category_id);
    /**统计定制项*/
    int count_dingzhi(@Param("category_id")String category_id);
    /**统计互斥项*/
    int count_huchi(@Param("category_id")String category_id);
    /**统计绣字工艺*/
    int count_xiuzi(@Param("category_id")String category_id);
    /**统计撞色项*/
    int count_zhuangse(@Param("category_id")String category_id);
    /**统计净体尺寸*/
    int count_jing_bodysize(@Param("category_id")String category_id);
    /**统计成衣尺寸*/
    int count_cheng_bodysize(@Param("category_id")String category_id);
    /**统计返修项*/
    int count_fanxiu(@Param("category_id")String category_id);
    /**统计工艺类型*/
    int count_gongyi(@Param("category_id")String category_id);
    /**统计绣字颜色*/
    int count_xiuzi_color(@Param("category_id")String category_id);
    /**统计绣字字体*/
    int count_xiuzi_font(@Param("category_id")String category_id);
    /**统计绣字图片*/
    int count_xiuzi_img(@Param("category_id")String category_id);

    /**根据品类id查询定制项*/
    List<SmalltemplateTestInfo> query_dingzhiBycategoryId(@Param("category_id")String category_id);
    /**根据定制项id查询定制项*/
    SmalltemplateTestInfo query_dingzhiBydingzhId(@Param("dingzhi_id")String dingzhi_id);
    /**新增定制项*/
    int add_dingzhi(SmalltemplateTestInfo dingzhi);
    /**编辑定制项*/
    int update_dingzhi(SmalltemplateTestInfo dingzhi);
    /**删除定制项*/
    int delete_dingzhi(@Param("dingzhi_id")String dingzhi_id);
    /**测试参数列表*/
    IPage<MlccCategoryTestInfo> query_testCanshuPageList(@Param("page")Page<MlccCategoryTestInfo> page,@Param("topcategory_id")String topcategory_id,@Param("module_id")String module_id,@Param("queryName")String queryName);
    /**新增定制项下的参数*/
    int add_dingzhi_canshu(MlccCategoryTestInfo dingzhi);
    /**编辑定制项下的参数*/
    int update_dingzhi_canshu(MlccCategoryTestInfo dingzhi);
    /**删除定制项下的参数*/
    int delete_dingzhi_canshu(@Param("canshu_id")String canshu_id);

    /**测试互斥项列表*/
    IPage<MutexTestInfo> query_testHuchiPageList(@Param("page")Page<MutexTestInfo> page,@Param("topid")String topid,@Param("queryName")String queryName,@Param("queryTime")String queryTime);
    /**新增互斥项*/
    int add_huchi(MutexTestInfo mutexTestInfo);
    /**编辑互斥项*/
    int update_huchi(MutexTestInfo mutexTestInfo);
    /**删除互斥项*/
    int delete_huchi(@Param("huchi_id")String huchi_id);
    /**查询定制下的所有参数*/
    List<MlccCategoryTestInfo> querycanshuall(@Param("module_id")String module_id);
    /**根据定制项id查询定制项*/
    MutexTestInfo query_huzhiBydId(@Param("huchi_id")String huchi_id);
    /**根据name查询品类详情*/
    MlccCategoryTestInfo select_testlbDetailByname(@Param("category_name")String category_name);
    /**根据name查询定制项详情*/
    SmalltemplateTestInfo select_testDingzhiByname(@Param("category_name")String category_name);

    /**测试绣字部位列表*/
    IPage<CategoryLocationTestInfo> query_testlocaltionPageList(@Param("page")Page<CategoryLocationTestInfo> page,@Param("category_id")String category_id,@Param("queryName")String queryName, @Param("queryCode")String queryCode);
    /**测试绣字颜色列表*/
    IPage<EmbroideredColorTestInfo> query_testColorPageList(@Param("page")Page<EmbroideredColorTestInfo> page,@Param("category_id")String category_id,@Param("queryName")String queryName, @Param("queryCode")String queryCode);
    /**测试绣字图片列表*/
    IPage<EmbroideredFontTestInfo> query_testImgPageList(@Param("page")Page<EmbroideredFontTestInfo> page,@Param("category_id")String category_id, @Param("queryName")String queryName, @Param("queryCode")String queryCode);
    /**测试绣字字体列表*/
    IPage<EmbroideredFontTestInfo> query_testFontPageList(@Param("page")Page<EmbroideredFontTestInfo> page,@Param("category_id")String category_id, @Param("queryName")String queryName, @Param("queryCode")String queryCode);
    /**测试绣字高度列表*/
    IPage<EmbroidedHeightInfo> query_testHeightPageList(@Param("page")Page<EmbroidedHeightInfo> page,@Param("category_id")String category_id,@Param("queryName")String queryName, @Param("queryCode")String queryCode);


    /**新增定绣字-部位*/
    int add_xiuzi_location(CategoryLocationTestInfo testinfo);
    /**编辑绣字-部位*/
    int update_xiuzi_location(CategoryLocationTestInfo testinfo);
    /**删除绣字-部位*/
    int delete_xiuzi_location(@Param("id")String id);
    /**新增定绣字-颜色*/
    int add_xiuzi_color(EmbroideredColorTestInfo testinfo);
    /**编辑绣字-颜色*/
    int update_xiuzi_color(EmbroideredColorTestInfo testinfo);
    /**删除绣字-颜色*/
    int delete_xiuzi_color(@Param("id")String id);
    /**新增绣字-字体图片*/
    int add_xiuzi_fontImg(EmbroideredFontTestInfo testinfo);
    /**编辑绣字-字体图片*/
    int update_xiuzi_fontImg(EmbroideredFontTestInfo testinfo);
    /**删除绣字-字体图片*/
    int delete_xiuzi_fontImg(@Param("id")String id);
    /**新增绣字-字体图片-大小价格*/
    int add_xiuzi_fontImgSize(EmbroideredFontTestInfo testinfo);
    /**编辑绣字-字体图片-大小价格*/
    int update_xiuzi_fontImgSize(EmbroideredFontTestInfo testinfo);
    /**根据条件查询绣字类型价格*/
    EmbroideredFontTestInfo select_pricebyid(@Param("leixing")String leixing,@Param("size")String size);
    /**根据id查询绣字位置详情*/
    CategoryLocationTestInfo select_test_xiuzi_locationDetail(@Param("id")String id);
    /**根据id查询绣字颜色详情*/
    EmbroideredColorTestInfo select_test_xiuzi_colorDetail(@Param("id")String id);
    /**根据id查询绣字字体图片详情*/
    EmbroideredFontTestInfo select_test_xiuzi_imgDetail(@Param("id")String id);
    /**测试撞色列表*/
    IPage<ContrastcolorTestInfo> query_testzhuangsePageList(@Param("page")Page<ContrastcolorTestInfo> page,@Param("category_id")String category_id,@Param("queryName")String queryName,@Param("queryTime")String queryTime);
    /**新增撞色*/
    int add_zhuangse(ContrastcolorTestInfo testinfo);
    /**编辑撞色*/
    int update_zhuangse(ContrastcolorTestInfo testinfo);
    /**删除撞色*/
    int delete_zhuangse(String id);
    /**查询撞色详情*/
    ContrastcolorTestInfo query_zhuangseDetail(String id);
    /**身体尺寸查询*/
    IPage<BodySizeTestInfo> query_testBodySizePageList(@Param("page")Page<BodySizeTestInfo> page,@Param("type")String type,@Param("category_id")String category_id,@Param("queryName")String queryName, @Param("queryTime")String queryTime);
    /**新增尺寸*/
    int add_testbodySize(BodySizeTestInfo testinfo);
    /**编辑尺寸*/
    int update_testbodySize(BodySizeTestInfo testinfo);
    /**删除尺寸*/
    int delete_testbodySize(@Param("id")String id);
    /**查询尺寸详情*/
    BodySizeTestInfo query_bodySizeDetail(@Param("id")String id);

    /**返修尺寸查询*/
    IPage<CategoryFanxiuTestInfo> query_testFanxiuSizePageList(@Param("page")Page<CategoryFanxiuTestInfo> page,@Param("category_id")String category_id,@Param("queryName")String queryName,@Param("queryTime")String queryTime);
    /**新增返修尺寸*/
    int add_testFanxiuSize(CategoryFanxiuTestInfo testinfo);
    /**编辑返修尺寸*/
    int update_testFanxiuSize(CategoryFanxiuTestInfo testinfo);
    /**删除返修尺寸*/
    int delete_testfanxiuSize(@Param("id")String id);
    /**查询返修尺寸详情*/
    CategoryFanxiuTestInfo query_FanxiuSizeDetail(@Param("id")String id);

    /**根据类型查询测试pine类列表*/
    IPage<MlccCategoryTestInfo> query_testCategoryPageListBytype(@Param("page")Page<MlccCategoryTestInfo> page,@Param("category_id")String category_id,@Param("type")String type,@Param("queryName")String queryName,@Param("queryCode")String queryCode);
    /**删除品类或工艺*/
    int delete_testcategory(String id);

    /**根据品类id查询参数*/
    List<MlccCategoryTestInfo> query_AllcanshuBypingleiId(@Param("category_id")String category_id);
    /**根据品类id查询所有互斥*/
    List<MutexTestInfo> query_AllhuchiBypingleiId(@Param("category_id")String category_id);
    /** //根据品类id查询绣字部位*/
    List<CategoryLocationTestInfo> query_Allxiuzi1BypingleiId(@Param("category_id")String category_id);
    /**根据品类id查询所有绣字颜色*/
    List<EmbroideredColorTestInfo> query_AllxiuziColorBypingleiId(@Param("category_id")String category_id);
    /**根据品类id查询所有绣字字体*/
    List<EmbroideredFontTestInfo> query_AllxiuziFontBypingleiId(@Param("category_id")String category_id);
    /**根据品类id查询所有绣字图片*/
    List<EmbroideredFontTestInfo> query_AllxiuziImgBypingleiId(@Param("category_id")String category_id);
    /**根据品类id查询所有撞色*/
    List<ContrastcolorTestInfo> query_AllzhuangseBypingleiId(@Param("category_id")String category_id);
    /**根据品类id查询所有净体尺寸*/
    List<BodySizeTestInfo> query_AlljingtiBodysizeBypingleiId(@Param("category_id")String category_id);
    /**根据品类id查询所有成衣尺寸*/
    List<CategoryFanxiuTestInfo> query_AllFanxiuBypingleiId(@Param("category_id")String category_id);
    /**根据品类id查询所有工艺*/
    List<MlccCategoryTestInfo> query_AllGongyiBypingleiId(@Param("category_id")String category_id);

    /**是否采用体型数据*/
    int update_category_size(@Param("category_id")String category_id,@Param("is_size")String is_size);

    /**测试加急项*/
    IPage<AddSystemPriceInfo> query_addpricePageList(Page<AddSystemPriceInfo> page,@Param("category_id")String category_id,@Param("partent_id")String partent_id,@Param("queryName")String queryName, @Param("queryTime")String queryTime);
    /**新增测试加急项*/
    int add_addsysytemprice(AddSystemPriceInfo testinfo);
    /**编辑测试加急项*/
    int update_addsysytemprice(AddSystemPriceInfo testinfo);
    /**删除测试加急项*/
    int delete_addsysytemprice(@Param("id")String id);
    AddSystemPriceInfo query_addsyspriceDetail(@Param("id")String id);
    /**查询所欲上级加价项*/
    List<AddSystemPriceInfo> query_alladdsysprice(@Param("category_id")String category_id);

    /**新增定绣字-高度*/
    int add_xiuzi_height(EmbroidedHeightInfo testinfo);
    /**编辑绣字-高度*/
    int update_xiuzi_height(EmbroidedHeightInfo testinfo);
    /**删除绣字-高度*/
    int delete_xiuzi_height(@Param("id")String id);
    /**根据id绣字-高度*/
    EmbroidedHeightInfo query_xiuziHeightDetail(@Param("id")String id);
    /**根据绣字高度/或者编码查询绣字高度表*/
    EmbroidedHeightInfo query_xiuziHeightDetailBycode(@Param("queryName")String queryName,@Param("type")int type,@Param("category_id")String category_id);
    /**启用绣字-部位*/
    int qiyong_xiuzi_location(@Param("id")String id,@Param("status")String status);
    /**启用绣字-颜色*/
    int qiyong_xiuzi_color(@Param("id")String id,@Param("status")String status);
    /**启用绣字-字体图片*/
    int qiyong_xiuzi_fontimg(@Param("id")String id,@Param("status")String status);
    /**根据品类-定制项-参数名称或者编号判断是否当前唯一：0编号，1名称*/
    MlccCategoryTestInfo queryDingzhiCanshuBycodeid(@Param("category_id")String category_id,@Param("dingzhi_id")String dingzhi_id,@Param("queryname")String queryname,@Param("type")int type);

    /**根据编号和上级id查询绣字部位*/
    CategoryLocationTestInfo query_xiuzi_locationDetailBycode(@Param("code")String code,@Param("top_id")String top_id);
    /**根据编号和上级id查询绣字颜色*/
    EmbroideredColorTestInfo query_xiuzi_colorDetailBycode(@Param("code")String code,@Param("top_id")String top_id);
    /**根据编号和上级id查询绣字字体*/
    EmbroideredFontTestInfo query_xiuzi_fontDetailBycode(@Param("code")String code,@Param("top_id")String top_id,@Param("is_img")int is_img);
    /**根据编号和上级id查询绣字高度*/
    EmbroidedHeightInfo query_xiuzi_heightDetailBycode(@Param("code")String code,@Param("top_id")String top_id);

    /**根据编号和上级id查询撞色*/
    ContrastcolorTestInfo query_zhuangseDetailBycode(@Param("code")String code,@Param("top_id")String top_id);
    /**根据编号和上级id查询工艺类型*/
    MlccCategoryTestInfo query_gongyiDetailBycode(@Param("code")String code,@Param("top_id")String top_id);

    /**根据编号修改工艺编号*/
    int update_gongyicode_code(@Param("newcode")String newcode,@Param("oldcode")String oldcode);
    /**根据编号查询品类详情*/
    MlccCategoryTestInfo select_testcategoryDetailBycode(@Param("code")String code);

}
